package main

import "fmt"

func main() {
	/*
		常量：
		1.概念：同变量类似，程序执行中数值不能更改
		2.语法：
			显示类型定义 const b string = "abc"
			隐式类型定义 const b = "abc"
		3.常数：
			固定的数值：100，"abc"
		4.注意事项：
			1.变量定义不使用会报错，但是常量不会
			2.常量中的数据类型只能是布尔型、数字型、字符串型
			3.使用显示类型定义常量时，必须保证赋的值与指定类型一致
				const b string = "abc" ---> 一致
				const b string = 1 ---> 不一致
			4.常量的命名全部使用大写的英文字母
			5.常量的数值不能被修改
            6.允许我们用 ‘_’ 来分隔数字。
                比如：v := 123_456 表示 v 的值等于 123456
            7.浮点型的最大值可以用 math.MaxFloat32、math.MaxFloat64 表示。
	*/

	//1. 定义常量
	const PATH string = "https://www.baidu.com"
	const PI = 3.14
	fmt.Println(PATH)

	//2. 定义一组常量
	const c1, c2, c3 = 100, 3.14, "abc"
	const (
		MALE   = 0
		FEMALE = 1
		UNKNOW = 3
	)

	//3. 一组常量中，如果某个常量没有初始值，默认与上一行一致(类型与数值都一致)
	const (
		A = 0
		B
		c = "rubbit"
		d
	)

	//4. 枚举类型：使用常量组作为枚举类型，一组相关数值的数据
	const (
		SPRING = 0
		SUMMER = 1
		AUTUMN = 2
		WINTER = 3
	)
}
